<?php
include("bdvoip.inc");
include("../config.php");
//die("passou pela conexao");
$dia = date("d");
$mes = date("m");
$ano = date("Y");
$stringData="data;hora;destinofinal;duracao";
$myFile = "uploads/tarifacao$ano$mes$dia.csv";
// variaveis para envio de e-mail
$nome       = "contato";
$email      = "dlisboa@gmail.com";
$assunto    = "Arquivo de tarifacao mensal - Ano: $ano - Mes: $mes - Dia: $dia";
$email_from = "PBX@broffices.com.br";
$ip = "127.0.0.1";
$cod_cliente_nao_tarifa =array("este tem que ser o primeiro","600","606","607","609","1000","1004","1011","1100","1101","1103","1104","1111","1122","1125","vmu","vmu1","vmu2","vmu3","vmu4","s");
 
//Funcoes
// Funcao para arrendondar o valor dos minutos uitlizados
function roundup ($value, $dp)
{
    //transforma a quantidade de segundos em minutos
    $duracao=($value/60);
    // Offset to add to $value to cause round() to round up to nearest significant digit for '$dp' decimal places
    $offset = pow (10, -($dp + 1)) * 5;
    return round ($duracao + $offset, $dp);
}
// Fim das Funcoes

//Agora e realizar a query de busca no banco de dados
//$sql = "SELECT * FROM cdr WHERE disposition = 'ANSWERED' and duration > 0 ORDER BY calldate";
$sql = "
		SELECT * FROM cdr 
		WHERE calldate > '$ano-$mes-$dia 00:00:00' 
		AND SUBSTR(dst,1,4) IS NOT null
		AND SUBSTR(dst,1,4) NOT IN ('600','606','607','609','1000','1004','1011','1100','1101','1103','1104','1111','1122','1125','vmu','vmu1','vmu2','vmu3','vmu4','s')
		AND disposition = 'ANSWERED' 
		AND duration > 20 
		order by calldate ASC
	   ";
$bdvoip = mysql_select_db ("asteriskcdrdb" , $conexao);
if (!bdvoip) {
    // problem selecting database
    die("Could not select database:" . mysql_error());
  }
 
$resultado = mysql_query($sql, $conexao) or die ("N&atilde;o foi poss&iacute;vel realizar a consulta ao banco de dados");
 
echo "-- $sql<br><br>";
$sql = "DELETE FROM tbl_extratotelefonia WHERE dte_ligacao BETWEEN '$ano-$mes-$dia 00:00:00' AND '$ano-$mes-$dia 23:59:59'; <br>";

// Executa linha a linha
$ct=0;
while ($linha=mysql_fetch_array($resultado)) {
	$calldate = $linha["calldate"];
	$dst = $linha["dst"];
	$disposition = $linha["disposition"];
	$duration = $linha["duration"];
	$mespesquisa = substr($calldate,5,2);
	$anopesquisa = substr($calldate,0,4);
	 
	//retira o codigo do cliente do numero de destino
	$destino = substr($dst, 4);
	$cliente = substr($dst, 0, 4);
	 
	//calcula minutos de duracao
	$duracao = roundup ($duration, 0);
	 
	// Acrescenta 061 nos numeros discados para local
	if (in_array(substr($destino,0,1), array(1, 2, 3, 4, 5, 6, 7, 8 ,9)))
	{
	   $destinofinal = "061"."".$destino;
	}
	else
	{
	   $destinofinal = $destino;
	}
	 
	// codigo para tarifacao
	$codtarifacao = substr($destinofinal,0,4);
	
	// imprime os valores
	if ($codtarifacao != ""){
	$ct++;
			$sql .= "
			insert into tbl_extratotelefonia 
			(dte_ligacao,vhr_numdiscado,int_minutosligacao,int_cod_pbx,vhr_ano_mes_referencia) 
			values 
			('$calldate', '$destinofinal',$duracao,$cliente,$ano$mes);<br>";
	}
}
$sql .= "-- Total de registros retornados:$ct";

echo $sql;
 
